#' gsea_upload UI Function
#'
#' @description A shiny Module.
#'
#' @param id,input,output,session Internal parameters for {shiny}.
#'
#' @noRd
#'
#' @importFrom shiny NS tagList
mod_gsea_upload_ui <- function(id){
  ns <- NS(id)
  tagList(
    bs4Dash::bs4Card(
      title = "Sorted Gene ID Upload",
      width = NULL,
      maximizable = TRUE,
      boxToolSize = "xs",
      elevation = 3,
      headerBorder = FALSE,
      shinyWidgets::switchInput(
        inputId = ns("exdata"),
        label = "Load Example Data",
        labelWidth = "150px"
      ),
      downloadButton(ns("downloadFiles"),"example file",icon=icon("download")),
      fileInput(ns("idFile"), "Upload your Gene ID ONLY IN txt format", accept = ".txt"),
      helpText("Or you can Input Your Gene ID Directory below"),
      helpText("Please Split Your Gene ID by ; ONLY, e.g. GENE1;GENE2"),
      textInput(ns("idInput"),"Enter Your Gene ID"),
      shinyWidgets::prettyRadioButtons(
        inputId = ns("idType"),
        label = "Choices Gene ID type: ",
        choices = c("SYMBOL" = "SYMBOL", "ENSEMBL" = "ENSEMBL"),
        icon = icon("eye-dropper"),
        bigger = TRUE,
        inline = TRUE,
        fill = TRUE,
        plain = TRUE,
        status = "success",
        animation = "pulse"
      )
    ),
    bs4Dash::bs4Card(
      title = "Glimpse of Data Uploaded",
      width = NULL,
      maximizable = TRUE,
      boxToolSize = "xs",
      elevation = 3,
      headerBorder = FALSE,
      DT::DTOutput(ns("contents"))
    )
  )
}

#' gsea_upload Server Functions
#'
#' @noRd
mod_gsea_upload_server <- function(id){
  moduleServer( id, function(input, output, session){
    ns <- session$ns

  })
}

## To be copied in the UI
# mod_gsea_upload_ui("gsea_upload_ui_1")

## To be copied in the server
# mod_gsea_upload_server("gsea_upload_ui_1")
